↳ ITRS
↳ ITRStoIDPProof
z
cd(TRUE, x) → cd(>@z(x, 0@z), -@z(x, 1@z))
cd(TRUE, x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
cd(TRUE, x) → cd(>@z(x, 0@z), -@z(x, 1@z))
(0) -> (0), if ((-@z(x[0], 1@z) →* x[0]a)∧(>@z(x[0], 0@z) →* TRUE))
cd(TRUE, x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (0), if ((-@z(x[0], 1@z) →* x[0]a)∧(>@z(x[0], 0@z) →* TRUE))
cd(TRUE, x0)
(1) (>@z(x[0]1, 0@z)=TRUE∧-@z(x[0], 1@z)=x[0]1∧>@z(x[0], 0@z)=TRUE∧-@z(x[0]1, 1@z)=x[0]2 ⇒ CD(TRUE, x[0]1)≥NonInfC∧CD(TRUE, x[0]1)≥CD(>@z(x[0]1, 0@z), -@z(x[0]1, 1@z))∧(UIncreasing(CD(>@z(x[0]1, 0@z), -@z(x[0]1, 1@z))), ≥))
(2) (>@z(-@z(x[0], 1@z), 0@z)=TRUE∧>@z(x[0], 0@z)=TRUE ⇒ CD(TRUE, -@z(x[0], 1@z))≥NonInfC∧CD(TRUE, -@z(x[0], 1@z))≥CD(>@z(-@z(x[0], 1@z), 0@z), -@z(-@z(x[0], 1@z), 1@z))∧(UIncreasing(CD(>@z(x[0]1, 0@z), -@z(x[0]1, 1@z))), ≥))
(3) (x[0] + -2 ≥ 0∧x[0] + -1 ≥ 0 ⇒ (UIncreasing(CD(>@z(x[0]1, 0@z), -@z(x[0]1, 1@z))), ≥)∧(-1)Bound + (2)x[0] ≥ 0∧1 ≥ 0)
(4) (x[0] + -2 ≥ 0∧x[0] + -1 ≥ 0 ⇒ (UIncreasing(CD(>@z(x[0]1, 0@z), -@z(x[0]1, 1@z))), ≥)∧(-1)Bound + (2)x[0] ≥ 0∧1 ≥ 0)
(5) (x[0] + -2 ≥ 0∧x[0] + -1 ≥ 0 ⇒ (-1)Bound + (2)x[0] ≥ 0∧1 ≥ 0∧(UIncreasing(CD(>@z(x[0]1, 0@z), -@z(x[0]1, 1@z))), ≥))
(6) (x[0] ≥ 0∧1 + x[0] ≥ 0 ⇒ 4 + (-1)Bound + (2)x[0] ≥ 0∧1 ≥ 0∧(UIncreasing(CD(>@z(x[0]1, 0@z), -@z(x[0]1, 1@z))), ≥))
POL(-@z(x1, x2)) = x1 + (-1)x2
POL(0@z) = 0
POL(TRUE) = 1
POL(CD(x1, x2)) = 2 + (2)x2
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = 2
CD(TRUE, x[0]) → CD(>@z(x[0], 0@z), -@z(x[0], 1@z))
CD(TRUE, x[0]) → CD(>@z(x[0], 0@z), -@z(x[0], 1@z))
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
cd(TRUE, x0)